Focus and selection 聚焦和選擇

焦點用於簡化基於元件的導航,使用者可使用遙控器、遊戲手柄或鍵盤將焦點移至要互動的元件。

焦點與選擇:大多數情況下,聚焦一個專案同時也意味著選擇該專案。例外情況是自動選擇會導致不必要的上下文切換(如開啟新檢視)。例如在tvOS中,使用者使用遙控器移動焦點,但選擇和啟用某個專案仍需額外的手勢操作。

不同平臺的焦點表現

iPadOS和macOS透過在專案周圍繪製圓環或高亮顯示專案來表示焦點。

tvOS則使用視差效果(parallax effect),為焦點專案增加深度感和生動感。

這種焦點效果和互動的組合有時被稱為焦點系統焦點模型

最佳實踐

依賴系統提供的焦點效果:系統定義的焦點效果已經過最佳化,能夠提供流暢、自然的體驗。儘量不要建立自定義焦點效果,除非絕對必要。

避免自動改變焦點:不要在使用者未進行互動時改變焦點,尤其是在使用鍵盤、遙控器或手柄進行精確移動時。自動改變焦點會讓使用者困惑,延遲他們找到目標內容。如果焦點物件消失,最好的做法是隱藏焦點指示器。

保持與平臺一致:在不同的平臺上,焦點的操作方式不同。確保在iPadOS和macOS中支援焦點的內容元素,如列表項、文字欄位等;在tvOS中,應支援透過方向手勢或遙控器等裝置到達螢幕上的每一個元素。

使用一致的視覺外觀表示焦點:在不同平臺上,應使用與平臺一致的視覺外觀表示焦點。例如,在iPadOS和macOS中,焦點項通常使用白色文字和匹配應用強調色的背景高亮顯示。

文字或搜尋欄位使用焦點環,列表和集合使用高亮顯示:通常,對於需要單獨關注的專案如文字框,使用焦點環(focus ring);而對於列表或集合,使用高亮顯示更有利於使用者一目瞭然。

平臺注意事項

不同平臺的支援差異:需要根據具體平臺調整焦點行為,不同裝置有不同的使用者互動習慣。

透過以上最佳實踐,可以確保應用在不同平臺上為使用者提供一致且流暢的焦點體驗,幫助使用者更高效地導航和選擇目標內容。

iPadOS

支援鍵盤互動:iPadOS 15及之後的版本支援使用鍵盤導航應用中的文字欄位、側邊欄、集合檢視等。iPadOS與tvOS的焦點系統相似,使用者透過移動焦點指示器並選擇專案來執行操作。

焦點組:iPadOS中引入了焦點組(focus groups),將應用內特定區域(如側邊欄、網格、列表)劃分為不同的焦點組。使用者可以透過鍵盤執行兩種不同的焦點導航:

Tab 鍵:用於在不同的焦點組之間移動,如從側邊欄到網格或其他應用區域。

箭頭鍵:在同一焦點組內執行方向性焦點移動,如在列表或側邊欄中逐項導航。

光環效果(halo focus effect):當元件獲得焦點時,系統會顯示自定義的光環輪廓。開發者可以根據需要調整光環效果,如調整其形狀、輪廓與位置,確保其不會被其他元素遮擋或剪裁。

高亮外觀(highlighted appearance):焦點項的背景色使用應用的強調色來表示焦點,但高亮外觀不是焦點效果。它通常自動出現在使用者選擇集合檢視中的某個單元格時。

高亮外觀(Highlighted Appearance)

定義:高亮外觀透過使用應用程式的強調色來顯示焦點,但它並不是焦點效果。它在使用者選擇集合檢視中的某個單元格時自動出現。

用途:高亮外觀常用於集合檢視(collection view)中的單元格,幫助使用者快速識別當前選擇的專案。

焦點移動的合理性

確保焦點移動邏輯合理:當使用者持續按下Tab鍵時,焦點應按照閱讀順序在焦點組中移動,即從前到後、從上到下。焦點系統預設按使用者預期的方式移動,但如果有自定義檢視,可能需要調整焦點移動順序。例如:如果希望焦點在垂直堆疊中先向下移動再向右移動到下一個檢視,則需要將該堆疊標識為單一的焦點組。

調整焦點優先順序

調整專案的焦點優先順序:當焦點組獲得焦點時,優先順序最高的專案會自動獲得焦點,方便使用者選擇他們最可能需要的專案。透過提升專案的焦點優先順序(primary item)可以幫助引導使用者選擇正確的專案。透過以上指導,開發者可以確保焦點系統在應用中的自定義檢視邏輯合理,且使用者能夠高效地透過焦點組找到目標內容。

tvOS

手勢操作內容,而不是焦點:在全屏模式下,使用者透過手勢直接與內容互動,而不是改變焦點。因為全屏顯示時不再突出焦點狀態,使用者自然會期望他們的手勢影響螢幕上的物件,而不是焦點的移動。

焦點導航優於指標拖動:使用者習慣於透過移動焦點在固定數量的專案間導航,而不是在大螢幕上拖動指標。雖然在遊戲中(如尋找隱藏物品或飛行操作)自由移動指標是合理的,但在導航選單或其他介面元素時,應該使用焦點模型。

指標使用建議:如果應用確實需要指標,確保它高度可見且與整體體驗緊密結合,避免使用者感到突兀。

焦點狀態的變化:在tvOS中,可聚焦的專案最多可以有五種不同的焦點狀態,每種狀態都有不同的視覺效果。

提供清晰的視覺資產:由於聚焦專案通常會放大,開發者需要為放大後的專案提供高解析度的視覺資源,確保它們在放大時依然清晰。同時,設計時要確保放大的專案不會擠壓周圍的介面元素,保持整體佈局的協調。

狀態描述
Unfocused該專案沒有被聚焦,未聚焦的專案在視覺上比聚焦的專案更不顯眼。
Focused該專案被聚焦後,與其他螢幕內容相比,透過提升、照明和動畫效果從前景中突出顯示。
Highlighted使用者選擇了聚焦的專案,聚焦的專案在選擇時會提供即時的視覺反饋。例如,按鈕在轉換為選中狀態前可能會短暫地反轉顏色並伴隨動畫。
Selected使用者已選擇或啟用該專案。例如,使用者可以點選一個心形按鈕來收藏照片,收藏時按鈕為填充狀態,未收藏時為空心狀態。
Unavailable該專案無法被聚焦或選擇,不可用的專案顯示為非啟用狀態。